package com.medsys.delegate;

import net.sf.jasperreports.engine.JRException;

import com.medsys.appservice.RelatorioAppService;
import com.medsys.view.Menu;

public class RelatorioDelegate {
	private static RelatorioAppService relatorioAppService = RelatorioAppService.getInstance();
	private static Menu menu = Menu.getInstance();
	public void gerarPdfAgendamentosPorPeriodo(){
		
		System.out.println("Gerando Relatorio");
		String dataInicio = menu.readStr("Insira a data de inicio (dd/mm/yyyy hh:mm:ss): ");
		String dataFim = menu.readStr("Insira a data de fim (dd/mm/yyyy hh:mm:ss): ");
		try {
			relatorioAppService.relatorioAgendamentosPorPeriodo(dataInicio, dataFim);
		} catch (JRException e) {
			e.printStackTrace();
		}		
		System.out.println("Relatorio gerado, verifique no disco.");
	}
	public void gerarPdfDaListaDePacientes(){
		System.out.println("Gerando PDF...");
		try {
			relatorioAppService.gerarPdfComListaDePacientes();
		} catch (JRException e) {
			
			e.printStackTrace();
		}
		System.out.println("Relatorio gerado com sucesso. Verifique o disco.");
		menu.readStr("Pressione <ENTER> para continuar");
		
	}
	public void gerarPdfDeReceituario(){
		try {
			System.out.println("Gerando PDF...");
			relatorioAppService.gerarPdfReceituario(new Long(menu.readStr("Insira o ID da consulta: ")));			
		} catch (NumberFormatException e) {
			e.printStackTrace();
		} catch (JRException e) {
			e.printStackTrace();
		}
		System.out.println("Relatorio gerado com sucesso. Verifique o disco.");
		menu.readStr("Pressione <ENTER> para continuar");
	}
	public void historicoPaciente(){
		try {
			System.out.println("Gerando PDF...");
			relatorioAppService.gerarPdfComHistoricoDoPaciente(new Long(menu.readStr("Insira o ID do paciente: ")));			
		} catch (NumberFormatException e) {
			e.printStackTrace();
		} catch (JRException e) {
			e.printStackTrace();
		}
		System.out.println("Relatorio gerado com sucesso. Verifique o disco.");
		menu.readStr("Pressione <ENTER> para continuar");
	}
	public void atestadoMedico(){
		try {
			System.out.println("Gerando PDF...");
			relatorioAppService.gerarPdfAtestado(new Long(menu.readStr("Insira o ID do paciente: ")));			
		} catch (NumberFormatException e) {
			e.printStackTrace();
		} catch (JRException e) {
			e.printStackTrace();
		}
		System.out.println("Relatorio gerado com sucesso. Verifique o disco.");
		menu.readStr("Pressione <ENTER> para continuar");
	}
	

}
